package com.vcg.vdam.aop;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 全局通用响应类
 *
 * @param <T>
 */
@ApiModel
public class ResultResponse<T> {
    @ApiModelProperty("响应码")
    private String code;
    @ApiModelProperty("响应消息")
    private String msg;
    @ApiModelProperty("响应体")
    private T data;

    public String getCode() {
        return code;
    }

    public ResultResponse<T> setCode(String code) {
        this.code = code;
        return this;
    }

    public String getMsg() {
        return msg;
    }

    public ResultResponse<T> setMsg(String desc) {
        this.msg = desc;
        return this;
    }

    public T getData() {
        return data;
    }

    public ResultResponse<T> setData(T data) {
        this.data = data;
        return this;
    }

//    public static <T> ResultResponse<T> success() {
//        return success(VdamCodeEnum.SUCCESS, null);
//    }
//
//    public static <T> ResultResponse<T> error() {
//        return success(VdamCodeEnum.UNKNOWN_ERROR, null);
//    }
//
//    @SuppressWarnings("unchecked")
//    public static <T> ResultResponse<T> error(String desc) {
//        return (ResultResponse<T>) success(VdamCodeEnum.UNKNOWN_ERROR, null)
//                .setMsg(desc);
//    }
//
//    public static <T> ResultResponse<T> error(String code,String desc){
//        return new ResultResponse<T>()
//                .setCode(code)
//                .setMsg(desc)
//                .setData(null);
//    }
//
//    @SuppressWarnings("unchecked")
//    public static <T> ResultResponse<T> paramMissing(String desc) {
//        return (ResultResponse<T>) success(VdamCodeEnum.PARAM_ERROR, null)
//                .setMsg(desc);
//    }
//
//
//
//    public static <T> ResultResponse<T> success(T data) {
//        return success(VdamCodeEnum.SUCCESS, data);
//    }
//
//    public static <T> ResultResponse<T> success(VdamCodeEnum codeEnum) {
//        return success(codeEnum, null);
//    }
//
//    public static <T> ResultResponse<T> error(VdamCodeEnum codeEnum) {
//        return success(codeEnum, null);
//    }
//
//    public static <T> ResultResponse<T> success(VdamCodeEnum codeEnum, T data) {
//        return new ResultResponse<T>()
//                .setCode(codeEnum.getCode())
//                .setMsg(codeEnum.getDesc())
//                .setData(data);
//    }

}
